Many devices include embedded control systems. Embedded control system may be associated with work machines, such as construction equipment. Construction equipment may include electrical components that are communicably coupled to each other through one or more communication conduits. Examples of such electrical components may include electronic control units (ECUs), network managers, control panels, etc.
A software system can be designed using a computer-generated design environment. A design environment may include a system design tool. A system design tool may include a software program that allows a designer to design a system using a function-based approach. In addition, a system design tool may include a database, often referred to as a “catalog,” identifying software components that are available to the design tool for building the software system. Each identified software component may be operable to perform a particular function and may be designed for use in conjunction with a particular piece of electronic hardware.
A system design tool may present a graphic user interface (GUI) to the designer. Through the GUI, the design tool may accept input, which may indicate one or more functions or sub-functions that the system would have to perform in order to perform the overall function of the system. The GUI may also accept input indicating the interaction between the sub-functions. For example, the design tool may be used to select, from the catalog, software components that perform the desired sub-functions. The design tool may also be used to conceptually build the software system by facilitating assembly of the identified software components according to the desired interaction of the sub-functions.
Historically, the way in which software components have been described in catalogs has depended on the particular way in which the design tools were configured to operate. Thus, the categories of information that needed to be included in a particular catalog of a particular design tool were somewhat unique. Further, for many software components available in the market, those categories of information were not readily available due to technical and/or confidentiality concerns. As such, a catalog may have included a relatively limited number of software components. In addition, because some information needed to be included in the catalog could be proprietary, design tools were generally configured as closed systems, available only to the in-house designers of a company and/or designers having a close relationship with the company.
Systems have been developed, which include user access regulating features. For example, U.S. Pat. No. 5,778,368, issued on Jul. 7, 1998 to Hogan et al. (“the '368 patent”), discloses a system configured to retrieve reusable real-time embedded software components from one or more repositories, wherein access to the repositories is regulated.
While the system of the '368 patent may regulate access to various repositories, the system of the '368 patent does not specify that the components in the repositories are stored and described in accordance with a standardized system of packaging reusable software assets, such as the Reusable Asset Specification (RAS). This lack of standardized packaging may limit the amount of sharing of components that the system of the '368 patent may be capable of achieving. For example, without standardized packing of components, the system may not be able to use components of outside vendors due to lack of compatibility. Further, outside (not in-house) consumers may not be able to use components from the non-standardized repositories as such components may not be compatible with the systems of the outside consumers.
The disclosed system design tool is directed toward overcoming one or more of the shortcomings set forth above.